package first.libxml;

import java.io.IOException;
import org.xml.sax.SAXException;

import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;

import com.sun.org.apache.xerces.internal.parsers.DOMParser;

import first.libxml.handlers.LitErrorHandler;


public class LitValidXSD 
{
	public static void check(String flname) 
	{
		String filename = flname;
		DOMParser parser = new DOMParser();
		try 
		{
			// установка обработчика ошибок
			parser.setErrorHandler(new LitErrorHandler("log.txt"));
			// установка способов проверки с использованием XSD
			parser.setFeature(
					"http://xml.org/sax/features/validation", true);
			parser.setFeature(
					"http://apache.org/xml/features/validation/schema", true);
			parser.parse(filename);
		}
		catch (SAXNotRecognizedException e) 
		{
			e.printStackTrace();
			System.out.print("идентификатор не распознан\n");
		} 
		catch (SAXNotSupportedException e) 
		{
			e.printStackTrace();
			System.out.print("неподдерживаемая операция\n");
		} catch (SAXException e) 
		{
			e.printStackTrace();
			System.out.print("глобальная SAX ошибка \n");
		} catch (IOException e) 
		{
			e.printStackTrace();
			System.out.print("ошибка I/O потока\n");
		}
			
		
		System.out.print("проверка " + filename + " завершена\n");
	}

}
